
import java.util.HashMap;

/**
 * 1、有一家超市，出售苹果和草莓。其中苹果 8 元/斤，草莓 13 元/斤。
 * 现在顾客 A 在超市购买了若干斤苹果和草莓，需要计算一共多少钱？
 * 请编写函数，对于 A 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
 *
 * 2、超市增加了一种水果芒果，其定价为 20 元/斤。
 * 现在顾客 B 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
 * 请编写函数，对于 B 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
 *
 * 3、超市做促销活动，草莓限时打 8 折。
 * 现在顾客 C 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
 * 请编写函数，对于 C 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
 *
 * 4、促销活动效果明显，超市继续加大促销力度，购物满 100 减 10 块。
 * 现在顾客 D 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
 * 请编写函数，对于 D 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
 * ：
 * @author zhangruiguang
 * @since JDK1.8
 */
public class Test {
    private static int applePrice = 8;
    private static int strawberryPrice = 13;
    private static int mangoPrice = 20;

    private static HashMap<String, Fruit> hashMap = new HashMap<>(2);

    /**
     * 超市水果货物初始化，存储在hashMap
     */
    public static void init(){
        Fruit apple = new Fruit();
        apple.setId("1");
        apple.setName("苹果");
        apple.setPrice(applePrice);
        hashMap.put(apple.getId(),apple);
        Fruit straw = new Fruit();
        straw.setId("2");
        straw.setName("草莓");
        straw.setPrice(strawberryPrice);
        hashMap.put(straw.getId(),straw);
        Fruit mango = new Fruit();
        mango.setId("3");
        mango.setName("芒果");
        mango.setPrice(mangoPrice);
        hashMap.put(mango.getId(),mango);
    }
    /**
     *
     * @param x 草莓数量
     * @param y 苹果数量
     */
    public static Integer totalPrice1(Integer x,Integer y){
        return x * strawberryPrice + y * applePrice;
    }

    /**
     *
     * @param x 草莓数量
     * @param y 苹果数量
     * @param z 芒果数量
     */
    public static Integer totalPrice2(Integer x,Integer y,Integer z){
        return x * strawberryPrice + y * applePrice + z* mangoPrice;
    }

    /**
     *
     * @param x 草莓数量
     * @param y 苹果数量
     * @param z 芒果数量
     */
    public static double totalPrice3(Integer x,Integer y,Integer z){
        return x * strawberryPrice* 0.8 + y * applePrice  + z* mangoPrice;
    }
    /**
     *
     * @param x 草莓数量
     * @param y 苹果数量
     * @param z 芒果数量
     */
    public static double totalPrice4(Integer x,Integer y,Integer z){
        double sum = x * strawberryPrice* 0.8 + y * applePrice + z * mangoPrice ;
        int discout = (int)sum / 100;
        return sum - discout * 10;
    }


    public static void main(String[] args) {
        //超市水果货物初始化，存储在hashMap
        init();
        //购买重量
        int strawberryWeight = 3;
        int appleWeight = 2;
        int mangoWeight = 5;
        Integer totalPrice1 = totalPrice1(strawberryWeight, appleWeight);
        System.out.println("当苹果数量："+appleWeight+",草莓数量："+strawberryWeight+"，苹果和草莓总价："+totalPrice1);
        Integer totalPrice2 = totalPrice2(strawberryWeight, appleWeight,mangoWeight);
        System.out.println("当苹果数量："+appleWeight+",草莓数量："+strawberryWeight+",芒果数量："+mangoWeight+"苹果草莓和芒果总价："+totalPrice2);
        double totalPrice3 = totalPrice3(strawberryWeight, appleWeight,mangoWeight);
        System.out.println("当苹果数量："+appleWeight+",草莓数量："+strawberryWeight+",芒果数量："+mangoWeight+",草莓折扣后总价："+totalPrice3);
        double totalPrice4 = totalPrice4(strawberryWeight, appleWeight,mangoWeight);
        System.out.println("当苹果数量："+appleWeight+",草莓数量："+strawberryWeight+",芒果数量："+mangoWeight+",草莓折扣后满减活动总价:"+totalPrice4);

    }
}
